import request from "@/util/server";
// 登录接口
export const login = (data) =>
  request({
    url: "/user/login",
    method: "post",
    data,
    hideloading: false,
  });
// 退出登录
export const logout = () =>
  request({
    url: "/user/logout",
    method: "post",
  });
// 刷新token
// url: "/user/refresh",
// url: "/refresh/",
export const refreshToken = (data) =>
  request({
    url: "/refresh/",
    method: "post",
    data,
  });
// 获取图片验证码
export const ImageCode = (imgCodeId) =>
  request({
    url: "/verify/image_codes/?uuid=" + imgCodeId,
    method: "get",
  });
// 获取用户头像
export const getUserAvatar = (data) =>
  request({
    url: "/media/userAvatar" + data,
    method: "get",
    hideloading: false,
  });
// 修改用户密码
export const updateUserPwd = (data) =>
  request({
    url: "/user/updateUserPwd",
    method: "post",
    data,
    hideloading: false,
  });
// 获取用户详细
export const getUserInfo = (data) =>
  request({
    url: "/user/userInfo",
    method: "post",
    data,
    hideloading: false,
  });
// 获取用户列表
export const getUserList = (data) =>
  request({
    url: "user/searchUser",
    method: "post",
    data,
  });
// 上传头像
// axios在请求发送出去之前会进行一次拦截，自动给我们的请求设置一些参数。上面会出现application/x-www-form-urlencoded这个参数就是因为axios设置了post请求的默认请求头，如果我们没有在config中指定其它请求头的话，就会使用默认的。

// 又了解到，发送multipart/form-data格式的请求时，不需要我们自己指定Content-Type属性，由浏览器自动帮我们去设置。

// 那么解决问题的关键就是不让axios帮我们自动配置

// axios的config中有一个transformRequest属性，官方的解释是可以在请求发送之前让我们人为干预。属性值是一个数组，里面可以定义一个函数，接收两个参数，分别是data和headers。data就是我们刚刚定义的FormData对象，headers里面则是axios预定义的请求头。

export const uploadImage = (data) =>
  request({
    url: "user/uploadImage",
    method: "post",
    data,
    // transformRequest: [
    //   function (data, headers) {
    //     // 去除post请求默认的Content-Type
    //     delete headers["Content-Type"];
    //     return data;
    //   },
    // ],

    headers: {
      "Content-Type": "multipart/form-data",
    },
    hideloading: false,
  });
// 更换头像
export const updateAvatar = (data) =>
  request({
    url: "user/updateAvatar",
    method: "post",
    data,
    hideloading: false,
  });
// 新增修改用户
export const saveUser = (data) =>
  request({
    url: "user/save",
    method: "post",
    data,
    hideloading: false,
  });
// 检查用户名是否存在
export const checkUser = (data) =>
  request({
    url: "user/check",
    method: "post",
    data,
    hideloading: false,
  });
// 删除用户
export const deleteUser = (data) =>
  request({
    url: "user/delete",
    method: "delete",
    data,
    hideloading: false,
  });
// const article = (params) => {
//     return request({
//         url: '/artical',
//         method: 'get',
//         params: params, // 确保 params 是一个对象
//         hideloading: false // 如果这是正确的属性名，否则可能需要改为 showLoading: true
//     });
// }
